Specification-guided component-based synthesis from effectful libraries
نویسندگان
چکیده
Component-based synthesis seeks to build programs using the APIs provided by a set of libraries. Oftentimes, these have effects, which make it challenging reason about correctness potential candidates. This is because changes global state made effectful library procedures affect how they may be composed together, yielding an intractably large search space that can confound typical enumerative techniques. If nature effects are exposed as part their specification, however, deductive approaches used help guide for components. In this paper, we present new specification-guided procedure uses Hoare-style pre- and post-conditions express fine-grained component candidates drive bi-directional strategy. The alternates between forward process larger terms given existing context but otherwise unaware actual goal, alongside backward mechanism consistent with desired goal from must synthesized. To further improve efficiency scalability, integrate conflict-driven learning into algorithm provides semantic characterization previously encountered unsuccessful paths prune possible proceeds. We implemented our ideas in tool called demonstrate its effectiveness on number problems defined over OCaml libraries equipped specifications.
منابع مشابه
Constrained Synthesis from Component Libraries
Synthesis from component libraries is the problem of building a network of components from a given library, such that the network realizes a given specification. This problem is undecidable in general. It becomes decidable if we impose a bound on the number of chosen components. However, the bounded problem remains computationally hard and brute-force approaches do not scale. In this paper we s...
متن کاملSynthesis from component libraries with costs
Synthesis is the automated construction of a system from its specification. In real life, hardware and software systems are rarely constructed from scratch. Rather, a system is typically constructed from a library of components. Lustig and Vardi formalized this intuition and studied LTL synthesis from component libraries. In real life, designers seek optimal systems. In this paper we add optima...
متن کاملComponent based simulation modeling from neutral component libraries
Researchers at the National Institute of Standards and Technology have proposed the development of libraries of formal, neutral models of simulation components. The availability of such libraries would simplify the generation of simulation models, enable reuse of existing models construction of complicated models from simpler ones, and speed Internet-based simulation services. The result would ...
متن کاملContent-Based Framework for Component Libraries
The construction of large software systems from existing components requires efficient access to possibly large collections of such components. In this paper, we present a content-based framework to organize this large collection of components in a semi-automatic fashion, according to an extensible user-defined ontology. Neural associative memories are used for fast, similaritybased access. Rel...
متن کاملSupporting Evolution in Component-Based Development Using Component Libraries
Component-based software development (CBSD) is a very promising software engineering technique for improving reuse and maintenance. Nevertheless, there are still some difficulties in practice when reusing, maintaining and evolving components and/or component-based (CB) applications. In this paper, we review the concepts of version and configuration management and apply them in the context of CB...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2022
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3563310